﻿// ===============================================================================
// XCI.NET 西安交通信息WinForm开发框架 2018 版权所有
// ===============================================================================
using System;
using XCI.Core;
using XCI.Helper;

namespace XCI.Sys
{
    /// <summary>
    /// 日期同步
    /// </summary>
    public class SyncDate
    {
        private readonly WebApi _webClient;

        /// <summary>
        /// 消息输出
        /// </summary>
        public Action<string> MessageCallback { get; set; }

        public SyncDate(WebApi webClient)
        {
            this._webClient = webClient;
        }

        /// <summary>
        /// 时间同步
        /// </summary>
        public void Sync()
        {
            MessageCallback?.Invoke("正在同步时间...");
            try
            {
                var dateTimeString = _webClient.Post("/api/sys/system/datetime");
                if (DateTime.TryParse(dateTimeString, out var dt))
                {
                    NativeMethods.SetLocalDateTime(dt);
                }
            }
            catch (Exception e)
            {
                DebugHelper.Catch(e.Message);
                MessageCallback?.Invoke("时间同步失败");
            }
        }
    }
}